AtCoder Beginners Selection ABC087B
(工事中)
解き方
解答例
下は上記の方法で解いたときの提出結果である。また、その提出の際に提出したソースコードをその下に転記する。
code: C
int main () {
int a = 0;
int b = 0;
int c = 0;
int x = 0;
int res = 0;
int max_500 = 0;
int min_500 = 0;
int ans = 0;
res = scanf("%d", &a);
res = scanf("%d", &b);
res = scanf("%d", &c);
res = scanf("%d", &x);
max_500 = x / 500;
if (max_500 > a) {
max_500 = a;
}
min_500 = (x - 50 * c - 100 * b) / 500;
if (min_500 < 0) {
min_500 = 0;
}
for (int num_500 = max_500; num_500 >= min_500; num_500--) {
int rem = x - 500 * num_500;
int max_100 = rem / 100;
int min_100 = (rem - 50 * c) / 100;
if (max_100 > b) {
max_100 = b;
}
if (min_100 < 0) {
min_100 = 0;
} else if (min_100 * 100 + 50 * c < rem) {
min_100++;
}
if (max_100 >= min_100) {
ans += max_100 - min_100 + 1;
}
}
printf("%d\n",ans);
return 0;
}
私の提出一覧
table: submissions_atcoder_begginers_selection_ABC087B
提出のURL 提出時刻 結果 備考
感想